<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>百度的webuploader</title>
    <!--引入CSS-->
    <link rel="stylesheet" type="text/css" href="lib/webuploader-0.1.5/webuploader.css"/>

</head>
<body>
<div id="uploader" class="wu-example">
    <!--用来存放文件信息-->
    <div id="thelist" class="uploader-list"></div>
    <div class="btns">
        <div id="picker">选择文件</div>
        <button id="ctlBtn" class="btn btn-default">开始上传</button>
    </div>
</div>
<!--引入JS-->
<script type="text/javascript" src="lib/jquery/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="lib/webuploader-0.1.5/webuploader.js"></script>
<script type="text/javascript">
    var uploader = WebUploader.create({

        // swf文件路径
        swf: 'lib/webuploader-0.1.5/Uploader.swf',

        // 文件接收服务端。
        server: 'upload/files',

        // 选择文件的按钮。可选。
        // 内部根据当前运行是创建，可能是input元素，也可能是flash.
        pick: {id: '#picker', multiple: true},

        // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
        resize: false
    });
    // 当有文件被添加进队列的时候
    uploader.on('fileQueued', function (file) {
        $('#thelist').append('<div id="' + file.id + '" class="item">' +
            '<h4 class="info">' + file.name + '</h4>' +
            '<p class="state">等待上传...</p>' +
            '</div>');
    });
    // 文件上传过程中创建进度条实时显示。
    uploader.on('uploadProgress', function (file, percentage) {
        var $li = $('#' + file.id),
            $percent = $li.find('.progress .progress-bar');

        // 避免重复创建
        if (!$percent.length) {
            $percent = $('<div class="progress progress-striped active">' +
                '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                '</div>' +
                '</div>').appendTo($li).find('.progress-bar');
        }

        $li.find('p.state').text('上传中');

        $percent.css('width', percentage * 100 + '%');
    });
    uploader.on('uploadSuccess', function (file,response) {
        $('#' + file.id).find('p.state').text(response.result);
    });

    uploader.on('uploadError', function (file,reason) {
        $('#' + file.id).find('p.state').text('上传出错'+reason);
    });

    uploader.on('uploadComplete', function (file) {
        $('#' + file.id).find('.progress').fadeOut();
    });

    //绑定提交事件
    $("#ctlBtn").click(function () {
        console.log("上传...");
        uploader.upload();   //执行手动提交
        console.log("上传成功");
    });
</script>
</body>
</html>